using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// ui的基类，其他面板类都要继承至它
public class BasePanel : MonoBehaviour
{
    /// <summary>
    /// skinPath 加载路径
    /// </summary>
    public string skinPath;

    /// <summary>
    /// 面板物体
    /// </summary>
    public GameObject skin;

    /// <summary>
    /// 层级
    /// </summary>
    public PanelManager.Layer layer = PanelManager.Layer.Panel; // 默认是放在Panel下面的！？

    /// <summary>
    /// 初始化方法
    /// </summary>
    public void Init()
    {
        skin = Instantiate(Resources.Load<GameObject>(skinPath));
    }

    // 虚方法，提供供子类来重写这个方法
    public virtual void OnInit() { }

    public virtual void OnShow() { }

    public virtual void OnClose() { }

    /// <summary>
    /// 直接用面板关闭的方法
    /// </summary>
    public void Close()
    {
        // 具体的类型是获取当前子类的类型
        string name = GetType().ToString();
        // Debug.Log("name");
        // Debug.Log(name);
        PanelManager.Close(name);
    }
}
